package com.billsystem.service;

import com.billsystem.mapper.UserMapper;
import com.billsystem.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.servlet.http.HttpSession;
import java.util.List;
import java.util.Objects;

@Service
public class UserService {

    @Autowired
    private UserMapper userMapper;
    @Autowired
    private HttpSession session;

    /*
    插入用户信息
     */
    public void insertUser(User user){
        userMapper.insertUser(user);
    }
    /*
    根据id删除用户信息
     */
    public void deleteUser(int id){
        userMapper.deleteUser(id);
    }
    /*
    修改账户密码
     */
    public void update(User user){
        if (Objects.equals(user.getPassword(), "")) {
            // 从会话中获取当前用户的 ID，假设会话中存储的用户 ID 键名为 "userId"
            int id = (int) session.getAttribute("userId");
            // 根据用户 ID 调用 userMapper 的 queryUserById 方法从数据库中查询出当前用户的信息
            User bean = userMapper.queryUserById(id);
            // 将查询到的原始密码赋值给要更新的用户对象
            user.setPassword(bean.getPassword());
        }
        //更新数据
        userMapper.updateUser(user);
    }
    /*
    根据id拆线呢用户信息
     */
    public User queryUserById(int id){
        return userMapper.queryUserById(id);
    }
    /*
    查询所用的用户信息
     */
    public List<User> queryUsers(){
        return userMapper.queryUsers();
    }
    /*
    通过用户名查询信息
     */
    public User queryUserByName(String name){
        return userMapper.queryUserByName(name);
    }
    /*
    更新用户的头像
     */
    public void updateUserImg(String userImg, int id) {
        userMapper.updateUserImg(userImg, id);
    }
}
